﻿using System;
using System.Configuration;
using System.Globalization;
using System.IO;

namespace ObjetosComunes.Logger
{
    /// <summary> Claase de log </summary>
    public static class Log
    {
        /// <summary> Metodo que registra un evento en el log </summary>
        public static void Info(string mensaje)
        {
            string path = ConfigurationManager.AppSettings["DireccionLog"] + DateTime.Now.ToString("ddMMyyyy") + ".log";
            TextWriter tw = new StreamWriter(path, true);
            tw.WriteLine("Fecha : " + DateTime.Now.ToString(CultureInfo.InvariantCulture) + " - INFO - " + mensaje);
            tw.Close();
        }


        /// <summary> Metodo que registra un evento en el log </summary>
        public static void Error(string mensaje)
        {
            string path = ConfigurationManager.AppSettings["DireccionLog"] + DateTime.Now.ToString("ddMMyyyy") + ".log";
            TextWriter tw = new StreamWriter(path, true);
            tw.WriteLine("Fecha : " + DateTime.Now.ToString(CultureInfo.InvariantCulture) + " - ERROR - " + mensaje);
            tw.Close();
        }


        /// <summary> Propieda que obtiene si el registro de info en los logs esta activado </summary>
        public static bool InfoHabilitado
        {
            get { return ConfigurationManager.AppSettings["InfoHabilitado"] == "true"; }
        }


        /// <summary> Propieda que obtiene si el registro de info en los logs esta activado </summary>
        public static bool ErrorHabilitado
        {
            get { return ConfigurationManager.AppSettings["ErrorHabilitado"] == "true"; }
        }
    }
}
